package com.yy.wga.resource.service.service;

import com.yy.wga.resource.feign.request.SharerProductSetCommissionReq;
import com.yy.wga.resource.feign.request.SharerSetCommissionReq;
import com.yy.wga.resource.service.api.request.feed.GetFeedListReq;
import com.yy.wga.resource.service.api.request.feed.GetFeedPromotionInfoReq;
import com.yy.wga.resource.service.api.request.live.GetLiveCommissionProductListReq;
import com.yy.wga.resource.service.api.request.live.GetLiveNoticeRecordListReq;
import com.yy.wga.resource.service.api.request.live.GetLiveNoticeRecordQrCodeReq;
import com.yy.wga.resource.service.api.request.live.GetLiveRecordListReq;
import com.yy.wga.resource.service.api.request.live.GetLiveRecordQrCodeReq;
import com.yy.wga.resource.service.api.request.telent.GetBindTalentListReq;
import com.yy.wga.resource.service.api.response.BaseApiDTO;
import com.yy.wga.resource.service.api.response.bind.BindTalentListResp;
import com.yy.wga.resource.service.api.response.bind.GetPromoterRegisterAndBindStatusResp;
import com.yy.wga.resource.service.api.response.commission.SharerProductCommissionResp;
import com.yy.wga.resource.service.api.response.feed.FeedListResp;
import com.yy.wga.resource.service.api.response.feed.FeedPromotionInfoResp;
import com.yy.wga.resource.service.api.response.live.LiveCommissionProductListResp;
import com.yy.wga.resource.service.api.response.live.LiveNoticeRecordListResp;
import com.yy.wga.resource.service.api.response.live.LiveNoticeRecordQrCodeResp;
import com.yy.wga.resource.service.api.response.live.LiveRecordListResp;
import com.yy.wga.resource.service.api.response.live.LiveRecordQrCodeResp;

public interface PromoterService {

    /**
     * 查询推广者的注册和绑定状态
     *
     * @param openId openId
     * @return GetPromoterRegisterAndBindStatusResp
     */
    GetPromoterRegisterAndBindStatusResp getPromoterRegisterAndBindStatus(String openId);


    // 设置单个推客的佣金率
    BaseApiDTO setSharerCommission(SharerSetCommissionReq req);

    // 设置单个推客的单个商品的佣金率
    BaseApiDTO setSharerProductCommission(SharerProductSetCommissionReq req);

    // 获取单个推客的单个商品的佣金率
    SharerProductCommissionResp getSharerProductCommission(String spuId);

    // 获取绑定的达人列表
    BindTalentListResp getBindTalentList(GetBindTalentListReq req);

    // 获取达人平台的直播记录列表
    LiveRecordListResp getLiveRecordList(GetLiveRecordListReq req);

    // 获取达人平台的预约直播记录列表
    LiveNoticeRecordListResp getLiveNoticeRecordList(GetLiveNoticeRecordListReq req);

    // 为某个推客生成单个直播预约的推广二维码
    LiveNoticeRecordQrCodeResp getLiveNoticeRecordQrCode(GetLiveNoticeRecordQrCodeReq req);

    // 为某个推客生成单个直播的推广二维码
    LiveRecordQrCodeResp getLiveRecordQrCode(GetLiveRecordQrCodeReq req);

    // 获取某个达人平台当前直播的带货商品列表
    LiveCommissionProductListResp getLiveCommissionProductList(GetLiveCommissionProductListReq req);


    // 获取某个达人平台可推广短视频列表
    FeedListResp getFeedList(GetFeedListReq req);

    // 生成某个达人平台的某些短视频内嵌短视频卡片需要的 feedtoken。
    FeedPromotionInfoResp getFeedPromotionInfo(GetFeedPromotionInfoReq req);


}
